﻿



using System; 
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace ufida.u9.ait.openapi
{
	/// <summary>
	/// 工程变更单明细DTO DTO :REST自定义的数据传输类型 
	/// 
	/// </summary>
	[DataContract(Namespace = "ufida.u9.ait.openapi")]
	[Serializable]
	public partial class ECNItemDetailAITDTOData  
	{
		/// <summary>
		/// Default Constructor
		/// </summary>
		public ECNItemDetailAITDTOData()
		{
			initData();
		}
		private void initData()
		{
		
		
		
					Lot= 1; 
							LineNum= 0; 
				
					AlternateType= 0; 
							BOMType= 0; 
							ACDType= 1; 
				
		

			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}
		[System.Runtime.Serialization.OnDeserializing]
		internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
		{
			 initData();
		}
		#region Do SerializeKey -ForDTODataType
		//只为处理集合型EntityKey。原因集合型EntityKey由于使用臫的集合对象，无法实现数据共享.-UBF专用.
		public void DoSerializeKeyList(IDictionary dict)
		{
			if (dict == null ) dict = new Hashtable() ;
			if (dict[this] != null)
				return ;
			dict[this] = this;
	        			if (this.ECNDocAITDTO != null) 
			{
				this.ECNDocAITDTO.DoSerializeKeyList(dict);
			}
	        	        	        	        	        			if (this.ItemMaster != null) 
			{
				this.ItemMaster.DoSerializeKeyList(dict);
			}
	        	        	        	        			if (this.ECNBOMComponents!=null)
			{
				foreach(ufida.u9.ait.openapi.ECNBomComponentAITDTOData objdata in this.ECNBOMComponents)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
				        			if (this.Project != null) 
			{
				this.Project.DoSerializeKeyList(dict);
			}

		}
		#endregion 
		/// <summary>
		/// Constructor Full Argument
		/// </summary>
		public ECNItemDetailAITDTOData(  ufida.u9.ait.openapi.ECNDocAITDTOData eCNDocAITDTO  , System.String version  , System.String originalVersion  , System.Int32 lot  , System.Int32 lineNum  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData itemMaster  , System.Int32 alternateType  , System.Int32 bOMType  , System.Int32 aCDType  , List<ufida.u9.ait.openapi.ECNBomComponentAITDTOData> eCNBOMComponents  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData project  )
		{
			initData();
			this.ECNDocAITDTO = eCNDocAITDTO;
			this.Version = version;
			this.OriginalVersion = originalVersion;
			this.Lot = lot;
			this.LineNum = lineNum;
			this.ItemMaster = itemMaster;
			this.AlternateType = alternateType;
			this.BOMType = bOMType;
			this.ACDType = aCDType;
			this.ECNBOMComponents = eCNBOMComponents;
			this.Project = project;
		}
		#region System Fields 
		//--系统字段,目前没有.EntityData上有相应的字段,用于保存相关的实体状态信息,DTO上没有状态信息.	
		#endregion
		
		#region DTO Properties 
	
		

		/// <summary>
		/// 工程变更单DTO
		/// 工程变更单明细DTO.Misc.工程变更单DTO
		/// </summary>
		private ufida.u9.ait.openapi.ECNDocAITDTOData m_eCNDocAITDTO ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.ECNDocAITDTOData ECNDocAITDTO
		{
			get	
			{	
				return m_eCNDocAITDTO ;
			}
			set	
			{	
				m_eCNDocAITDTO = value ;	
			}
		}
			
		

		/// <summary>
		/// 变更后版本
		/// 工程变更单明细DTO.Misc.变更后版本
		/// </summary>
		private System.String m_version ;
		[DataMember(IsRequired=false)]
		public System.String Version
		{
			get	
			{	
				return m_version ;
			}
			set	
			{	
				m_version = value ;	
			}
		}
			
		

		/// <summary>
		/// 变更前版本
		/// 工程变更单明细DTO.Misc.变更前版本
		/// </summary>
		private System.String m_originalVersion ;
		[DataMember(IsRequired=false)]
		public System.String OriginalVersion
		{
			get	
			{	
				return m_originalVersion ;
			}
			set	
			{	
				m_originalVersion = value ;	
			}
		}
			
		

		/// <summary>
		/// 批量
		/// 工程变更单明细DTO.Misc.批量
		/// </summary>
		private System.Int32 m_lot ;
		[DataMember(IsRequired=false)]
		public System.Int32 Lot
		{
			get	
			{	
				return m_lot ;
			}
			set	
			{	
				m_lot = value ;	
			}
		}
			
		

		/// <summary>
		/// 行号
		/// 工程变更单明细DTO.Misc.行号
		/// </summary>
		private System.Int32 m_lineNum ;
		[DataMember(IsRequired=false)]
		public System.Int32 LineNum
		{
			get	
			{	
				return m_lineNum ;
			}
			set	
			{	
				m_lineNum = value ;	
			}
		}
			
		

		/// <summary>
		/// 料品
		/// 工程变更单明细DTO.Misc.料品
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_itemMaster ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData ItemMaster
		{
			get	
			{	
				return m_itemMaster ;
			}
			set	
			{	
				m_itemMaster = value ;	
			}
		}
			
		

		/// <summary>
		/// 生产目的
		/// 工程变更单明细DTO.Misc.生产目的
		/// </summary>
		private System.Int32 m_alternateType ;
		[DataMember(IsRequired=false)]
		public System.Int32 AlternateType
		{
			get	
			{	
				return m_alternateType ;
			}
			set	
			{	
				m_alternateType = value ;	
			}
		}
			
		

		/// <summary>
		/// BOM类型
		/// 工程变更单明细DTO.Misc.BOM类型
		/// </summary>
		private System.Int32 m_bOMType ;
		[DataMember(IsRequired=false)]
		public System.Int32 BOMType
		{
			get	
			{	
				return m_bOMType ;
			}
			set	
			{	
				m_bOMType = value ;	
			}
		}
			
		

		/// <summary>
		/// 更改类型
		/// 工程变更单明细DTO.Misc.更改类型
		/// </summary>
		private System.Int32 m_aCDType ;
		[DataMember(IsRequired=false)]
		public System.Int32 ACDType
		{
			get	
			{	
				return m_aCDType ;
			}
			set	
			{	
				m_aCDType = value ;	
			}
		}
			
		

		/// <summary>
		/// 工程变更BOM子项
		/// 工程变更单明细DTO.Misc.工程变更BOM子项
		/// </summary>
		private List<ufida.u9.ait.openapi.ECNBomComponentAITDTOData> m_eCNBOMComponents ;
		[DataMember(IsRequired=false)]
		public List<ufida.u9.ait.openapi.ECNBomComponentAITDTOData> ECNBOMComponents
		{
			get	
			{	
				if (m_eCNBOMComponents == null )
				{
					List<ufida.u9.ait.openapi.ECNBomComponentAITDTOData> n_m_list = new List<ufida.u9.ait.openapi.ECNBomComponentAITDTOData>() ;
					m_eCNBOMComponents = n_m_list ;
				}
				return m_eCNBOMComponents ;
			}
			set	
			{	
				m_eCNBOMComponents = value ;	
			}
		}
			
		

		/// <summary>
		/// 项目
		/// 工程变更单明细DTO.Misc.项目
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_project ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Project
		{
			get	
			{	
				return m_project ;
			}
			set	
			{	
				m_project = value ;	
			}
		}
			
		#endregion	

		#region Multi_Fields
																						
		#endregion 
	} 	
}
